package com.brillilab.service.core.experiments;


import com.brillilab.domain.po.experiments.ExperimentGroup;
import com.brillilab.domain.vo.experiments.ExperimentGroupListVo;

import java.util.List;

/**
 * <p>
 * 实验分组 服务类
 * </p>
 *
 * @author WuMenghao
 * @since 2019-09-05
 */
public interface IExperimentGroupService {

    ExperimentGroup selectById(Long id);

    List<ExperimentGroup> selectList(Long experimentId);

    ExperimentGroup insert(ExperimentGroup entity);

    boolean updateById(ExperimentGroup entity);

    boolean deleteById(Long id);

    boolean deleteByBatch(List<Long> ids);

    boolean updateByBatch(List<ExperimentGroup> updateList);

    boolean insertByBatch(List<ExperimentGroup> insertList);

    /**
     * 根据实验实验流获取实验分组
     *
     * @param topicTargetId
     * @return
     */
    List<ExperimentGroupListVo> selectByTopicTargetId(Long topicTargetId);

    boolean isExistByExperimentId(Long experimentId);

}
